from .build import PREPROCESS_REGISTRY
from .compose import Compose
from .transform import *

PREPROCESS_REGISTRY.register('preprocess_zscore', Compose(
    ToNumpy(),
    ZScoreNorm(),
))
PREPROCESS_REGISTRY.register('preprocess_max_min_norm', Compose(
    ToNumpy(),
    MaxMinNorm(),
))
PREPROCESS_REGISTRY.register('preprocess_extract_green_channel_zscore', Compose(
    ToNumpy(),
    ExtractOneChannel(channel_id=1),
    ZScoreNorm(),
))
PREPROCESS_REGISTRY.register('preprocess_crop_extract_green_channel_zscore', Compose(
    PILImageCrop(),
    ToNumpy(),
    ExtractOneChannel(channel_id=1),
    ZScoreNorm(),
))
PREPROCESS_REGISTRY.register('preprocess_repeat_extract_green_channel_zscore', Compose(
    ToNumpy(),
    Repeat(),
    ExtractOneChannel(channel_id=1),
    ZScoreNorm(),
))
PREPROCESS_REGISTRY.register('preprocess_RIFIR_cluster_zscore', Compose(
    ToNumpy(),
    NearestNeighbor('output/cluster_3d_input/RIFIR-g-train/centers.pkl'),
    ZScoreNorm(),
))
PREPROCESS_REGISTRY.register('preprocess_RIFIR_cluster2_zscore', Compose(
    ToNumpy(),
    NearestNeighbor('output/cluster_3d_input3/RIFIR-g-train/centers.pkl'),
    ZScoreNorm(),
))
PREPROCESS_REGISTRY.register('preprocess_RIFIR_cluster3_zscore', Compose(
    ToNumpy(),
    NearestNeighbor('output/cluster_3d_input4/RIFIR-train/centers.pkl'),
    ZScoreNorm(),
))
PREPROCESS_REGISTRY.register('preprocess_RIFIR_cluster4_zscore', Compose(
    ToNumpy(),
    NearestNeighbor('output/cluster_3d_input5/RIFIR-train/200-360-256-0.2/centers.pkl'),
    ZScoreNorm(),
))
PREPROCESS_REGISTRY.register('preprocess_RIFIR_cluster5_zscore', Compose(
    ToNumpy(),
    NearestNeighbor('output/cluster_3d_input5/RIFIR-train/200-256-256-0.3/centers.pkl'),
    ZScoreNorm(),
))